package com.zhuiYun.project.api.userAddress.entiy;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName UserAddress
 * @Description 收货地址类
 * @Author 胡亮
 * @Date 2023/04/04 上午 09:37
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Table(name="user_address")
public class UserAddress implements Serializable  {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    //收货人
    private String addressConsignee;
    //所在地区省(汉字)
    private String addressLocationProvince;
    //所在地区省(id)
    private String addressLocationProvinceId;
    //所在地区市(汉字)
    private String addressLocationCity;
    //所在地区市(id)
    private String addressLocationCityId;
    //所在地区县(汉字)
    private String addressLocationCounty;
    //所在地区县(id)
    private String addressLocationCountyId;
    //详细地址
    private String addressDetailed;
    //手机号
    private String addressTelephoneShift;
    //固定电话
    private String addressTelephoneFixed;
    //邮箱地址
    private String addressEmail;
    //地址别名
    private String addressAlias;
    //创建时间
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date addressCreateTime;
    //修改时间
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date addressUpdateTime;
    //是否是默认(1是默认0不是默认)
    private Integer addressFlag;
    //用户表id(表示这条数据属于那个用户)
    private Integer userId;
    //所在地区(非数据库字段前台页面存汉字版所在地区)
    @Transient
    private String location;
    //所在地区(非数据库字段前台页面存id版所在地区)
    @Transient
    private Integer[] locationId;
}
